package com.zhj.domain;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>Company: 成都返空汇网络技术有限公司</p>
 * <p>Description: ${description} </p>
 *
 * @author zhonghaijun
 * @version x.x.x
 * @email "mailto:zhonghaijun@fkhwl.com"
 * @date 2021.06.16 17:09
 * @since x.x.x
 */
/**
    * 子账户表
    */
public class Account {
    private Long id;

    /**
    * 一级户id
    */
    private Long masterAccountId;

    /**
    * 渠道业务唯一用户id，根据业务渠道拼接处理过
    */
    private Long userId;

    /**
    * 原本的user_id
    */
    private Long originUserId;

    /**
    * userId对应的租户ID
    */
    private Long tenantId;

    /**
    * 渠道编码
    */
    private String channelCode;

    /**
    * 账户标识,渠道对应的子户标识，开户成功回调
网商1.0 合作方业务平台的用户 ID（uid）
网商2.0 商户号（MerchantId）
    */
    private String accountCode;

    /**
    * 账户名称,渠道对应的子户名称
    */
    private String accountName;

    /**
    * 账户号,渠道对应的电子账号(收款账号)，开户成功回填
    */
    private String accountNumber;

    /**
    * 账户类型 ,0:对私,1:对公,2:专户
    */
    private Byte accountType;

    /**
    * 总余额，单位:元，保留2位小数
    */
    private BigDecimal totalBalance;

    /**
    * 冻结余额，单位:元，保留2位小数
    */
    private BigDecimal freezeBalance;

    /**
    * 用户类型 司机,信息部
    */
    private String userType;

    /**
    * 账户权限,1111:所有权限
    */
    private String authority;

    /**
    * 状态，0:开户中,1:开户成功,2：开户失败,3: 待打款验证
    */
    private Byte status;

    /**
    * 余额迁移状态。0：未迁移；1：迁移中；2：迁移成功；3：迁移失败
    */
    private Byte balanceStatus;

    /**
    * 开户来源系统
    */
    private Integer businessChannel;

    /**
    * 银行支行名称
    */
    private String branchName;

    /**
    * 银行支行号
    */
    private String branchNumber;

    /**
    * 删除状态:0: 未删除 1: 已删除 (公共字段)
    */
    private Boolean deleted;

    /**
    * 创建时间 (公共字段)
    */
    private Date createTime;

    /**
    * 最后更新时间 (公共字段)
    */
    private Date updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getMasterAccountId() {
        return masterAccountId;
    }

    public void setMasterAccountId(Long masterAccountId) {
        this.masterAccountId = masterAccountId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getOriginUserId() {
        return originUserId;
    }

    public void setOriginUserId(Long originUserId) {
        this.originUserId = originUserId;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public String getChannelCode() {
        return channelCode;
    }

    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    public String getAccountCode() {
        return accountCode;
    }

    public void setAccountCode(String accountCode) {
        this.accountCode = accountCode;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getAccountNumber() {
        return accountNumber;
    }

    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }

    public Byte getAccountType() {
        return accountType;
    }

    public void setAccountType(Byte accountType) {
        this.accountType = accountType;
    }

    public BigDecimal getTotalBalance() {
        return totalBalance;
    }

    public void setTotalBalance(BigDecimal totalBalance) {
        this.totalBalance = totalBalance;
    }

    public BigDecimal getFreezeBalance() {
        return freezeBalance;
    }

    public void setFreezeBalance(BigDecimal freezeBalance) {
        this.freezeBalance = freezeBalance;
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getAuthority() {
        return authority;
    }

    public void setAuthority(String authority) {
        this.authority = authority;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public Byte getBalanceStatus() {
        return balanceStatus;
    }

    public void setBalanceStatus(Byte balanceStatus) {
        this.balanceStatus = balanceStatus;
    }

    public Integer getBusinessChannel() {
        return businessChannel;
    }

    public void setBusinessChannel(Integer businessChannel) {
        this.businessChannel = businessChannel;
    }

    public String getBranchName() {
        return branchName;
    }

    public void setBranchName(String branchName) {
        this.branchName = branchName;
    }

    public String getBranchNumber() {
        return branchNumber;
    }

    public void setBranchNumber(String branchNumber) {
        this.branchNumber = branchNumber;
    }

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

	@Override
	public String toString() {
		return "Account{" +
			   "id=" + id +
			   ", masterAccountId=" + masterAccountId +
			   ", userId=" + userId +
			   ", originUserId=" + originUserId +
			   ", tenantId=" + tenantId +
			   ", channelCode='" + channelCode + '\'' +
			   ", accountCode='" + accountCode + '\'' +
			   ", accountName='" + accountName + '\'' +
			   ", accountNumber='" + accountNumber + '\'' +
			   ", accountType=" + accountType +
			   ", totalBalance=" + totalBalance +
			   ", freezeBalance=" + freezeBalance +
			   ", userType='" + userType + '\'' +
			   ", authority='" + authority + '\'' +
			   ", status=" + status +
			   ", balanceStatus=" + balanceStatus +
			   ", businessChannel=" + businessChannel +
			   ", branchName='" + branchName + '\'' +
			   ", branchNumber='" + branchNumber + '\'' +
			   ", deleted=" + deleted +
			   ", createTime=" + createTime +
			   ", updateTime=" + updateTime +
			   '}';
	}
}